package com.example.utils.initializationconfig;

import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;

/**
 * TODO   ApplicationListener 是由 spring-context组件提供的一个接口，主要是用来监听 "容器上下文的生命周期事件"。
 *        对于初始化工作来说，我们可以通过监听ContextRefreshedEvent这个事件来捕捉上下文初始化的时机。
 *        在Spring上下文初始化完成后，这里定义的方法将会被执行。
 *       与前面的InitializingBean不同的是，通过ApplicationListener监听的方式是全局性的，
 *       也就是当所有的Bean都初始化完成后才会执行方法。
 *       （注：ApplicationListener<ContextRefreshedEvent> 去掉括号内的，可能会执行多次）
 *
 * @ClassName StartupApplicationListenerExample
 * @Author xiaojiang
 * @Date 2021/9/28 下午 16:46
 */
@Component
public class StartupApplicationListenerExample implements ApplicationListener<ContextRefreshedEvent> {


    @Override
    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {

        System.out.println("ApplicationListener监听........");

    }



}
